Video sequences generally contain widely varying picture content and previously coded frames are used to predict a current frame. In block-based hybrid video coders such as ITU-T and ISO/IEC JTC1, “Generic coding of moving pictures and associated audio information—Part 2: Video”, ITU-T Recommendation H.262—ISO/IEC 13818-2 (MPEG-2 Visual), November 1994,
ITU-T, “Video coding for low bitrate communication,” ITU-T Recommendation H.263, version 1, November 1995, version 2, January 1998,
ISO/IEC JTC1, “Coding of audio-visual objects—Part 2: Visual,” ISO/IEC 14496-2 (MPEG-4 Visual version 1), April 1999, Amendment 1 (version 2), February 2000,
T. Wiegand (ed.), “Joint Final Committee Draft (JFCD) of Joint Video Specification (ITU-T Rec. H.264 I ISO/IEC 14496-10 AVC)”, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, JVT-D157, July 2002,
the distortion of a macroblock as well as the number of bits required for encoding it is mainly controlled by the macro-block's quantisation parameter. The general objective of a rate control mechanism is to provide the best possible video quality while keeping given conditions on transmission rate and decoding delay. Typically, a rate control includes a frame-layer control and a macroblock-layer control. In order to achieve a constant video quality, the anchor frames and the non-anchor frames of different coding types (I (intra-coded), P (predictive coded) and B (bi-directionally-predictive coded)) must be encoded using a different number of bits for each coding type. E.g. in MPEG-2 Visual, the code for an encoder input frame that is to be encoded as P type, which frame is at encoder input preceded by a frame that is to be encoded as B type, is output by the encoder before the code for the B frame is output because the P frame must be reconstructed in the decoder before the B frame can be reconstructed based on the reconstructed P frame. While the frame-layer control assigns a target number of bits for a frame so that the conditions on transmission rate and decoding delay are kept, the macroblock-layer control selects the macroblock quantisation parameters in a way that this target is achieved.
A widely used method for setting the target number of bits when coding different frame types is the frame-layer rate control as specified in Test Model 5 (ISO/IEC JTC1/SC29/WG11/N0400, “Test Model 5, Draft Revision 2”, April 1993). This document describes an encoder strategy for MPEG-2 Visual. The assignment of frame targets is based on so-called global complexity measures. For each frame type (I, P, B) there exists a specific complexity measure, which is updated after the encoding of each frame of the respective frame type. The target number of bits for each frame is determined by weighting the number of available bits for (the remaining frames of) a group of pictures using these global complexity measures.